package com.linxuan.reggie.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 地址簿类
 * AddressBook实体类和数据库中address_book表进行映射，配置文件中已经开启了驼峰命名
 * 实现Serializable接口代表该类可以被序列化和反序列化，可以被持久化和网络传输。
 */
@Data
public class AddressBook implements Serializable {

    // Java的序列化机制通过在运行时判断类的serialVersionUID来验证版本一致性。
    private static final long serialVersionUID = 1L;

    // 地址簿主键ID
    private Long id;
    // 用户id
    private Long userId;
    // 收货人
    private String consignee;
    // 手机号
    private String phone;
    // 性别 0 女 1 男
    private String sex;
    // 省级区划编号
    private String provinceCode;
    // 省级名称
    private String provinceName;
    // 市级区划编号
    private String cityCode;
    // 市级名称
    private String cityName;
    // 区级区划编号
    private String districtCode;
    // 区级名称
    private String districtName;
    // 详细地址
    private String detail;
    // 标签
    private String label;
    // 是否默认 0 否 1是
    private Integer isDefault;

    // 创建时间
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    // 更新时间
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
    // 创建人
    @TableField(fill = FieldFill.INSERT)
    private Long createUser;
    // 修改人
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updateUser;

    // 是否删除
    private Integer isDeleted;
}
